@import url('https://fonts.googleapis.com/css2?family=Arimo:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600;700;800&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}



:root {
    --balckColor: #000000;
    --whiteColor: #ffffff;
    --textColor: #8b8b8b;
    --mainColor: #62a9ac;
    --titleColor: #424a52;
    --grayColor: #f5f5f5;
    --lightGray: #d9d9d9;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    background: radial-gradient(#c7c7c7 25%, #c7c7c7 74%);
}

h1,
h2,
h3 {
    /*text-transform: uppercase;*/
}

h1,
h2 {
    font-weight: 600;
}

h3,
p {
    font-family: 'Arimo', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
}

h1 {
    font-size: 2.8rem;
    color: var(--titleColor);
}

h2 {
    font-size: 1.6rem;
    color: var(--mainColor);
}

h3 {
    color: var(--mainColor);
}

p {
    line-height: 1.6;
    color: var(--textColor);
}

a {
    text-decoration: none;
    font-size: .8rem;
}

ul {
    list-style: none;
}

.container {
    margin: 2rem auto;
    width: 100%;
    border: .1rem solid var(--lightGray);
    background-color: var(--whiteColor);
    border-radius: .5rem;
    box-shadow: .5rem .7rem 1.5rem .5rem #b9b6b6;
}

@media(min-width: 576px) {
    .container {
        width: 540px;
    }
}

@media(min-width:768px) {
    .container {
        width: 720px;
    }
}

@media(min-width: 992px) {
    .container {
        width: 960px;
    }
}

header {
    background-color: var(--grayColor);
    border-radius: .5rem .5rem 0 0;
}

header .img-container {
    height: 30rem;
    background-color: var(--mainColor);
    border-radius: .5rem;
    text-align: center;
    clip-path: polygon(0 0, 100% 0%, 100% 63%, 50% 100%, 0 63%);
}

header .img-container img {
    width: 20.2rem;
    height: 23.3rem;
    clip-path: polygon(0 26%, 50% 0, 100% 26%, 100% 72%, 50% 100%, 0 72%);
    margin-top: 2rem;
    object-fit: cover;
}

header .header-text {
    padding: 0 1.5rem;
}

header .header-text h1 {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}

@media screen and (min-width:760px) {
    header .header-text .contact {
        margin-top: 2.5rem;
        padding-bottom: 2rem;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 1rem;
    }
}

@media screen and (max-width:760px){
    header .header-text .contact {
        margin-top: 2.5rem;
        padding-bottom: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 1rem;
    }

    header .header-text h1{
        text-align: center;
    }
}

header .header-text .contact .phone,
header .header-text .contact .mail,
header .header-text .contact .address
{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
}


header .header-text .contact i {
    font-size: 1.2rem;
    color: var(--whiteColor);
    background-color: var(--mainColor);
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

header .header-text .contact a {
    font-size: 1.2rem;
    color: var(--titleColor);
    font-weight: 600;
}

header .header-text .contact .address p {
    font-size: 1.2rem;
    color: var(--titleColor);
    font-weight: 600;
}

main {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

main .left,
main .right {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

main .box:first-of-type {
    margin-top: 2rem;
}

main .right .box:last-of-type {
    margin-bottom: 4rem;
}

main .box .title {
    display: flex;
    align-items: center;
    gap: 1rem;
}

main .box .title i {
    font-size: 3rem;
    color: var(--mainColor);
}

main .box .title h3 {
    margin: 2rem 0;
    font-size: 2rem;
    position: relative;
}

main .box .title h3::before {
    content: "";
    position: absolute;
    width: 7rem;
    height: .2rem;
    background-color: var(--mainColor);
    bottom: 0;
}

main .box ul {
    padding: 0 1rem;
}

main .box ul li {
    position: relative;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--textColor);
    margin-bottom: 2rem;
}

main .box ul li::before {
    content: "";
    position: absolute;
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background-color: var(--mainColor);
    top: .8rem;
    left: -1rem;
}

main .box ul li:last-child {
    margin-bottom: 0;
}

main .progress-container {
    margin-bottom: 2rem;
}

main .progress-container h4 {
    color: var(--textColor);
    margin-bottom: 1rem;
}

main .progress-container .progress-bar {
    background-color: var(--grayColor);
    width: 100%;
    height: 1rem;
}

main .progress-container .progress-bar span {
    display: block;
    background: var(--mainColor);
    height: 100%;
}

main .box h4 {
    /*text-transform: capitalize;*/
    font-size: 1.6rem;
    margin: .5rem 0;
}

main .box .languages {
    display: flex;
    align-items: center;
}

main .box .languages ul {
    flex-basis: 20%;
}

main .box .languages .language-progress {
    flex-basis: 80%;
}

main .box .languages .language-progress .progress-container {
    margin-top: 2.9rem;
    margin-bottom: 2.6rem;
}

@media(min-width: 768px) {
    header {
        height: 19rem;
    }

    header .header-content {
        display: flex;
        position: relative;
    }

    header .img-container {
        width: 30rem;
        position: absolute;
        border-radius: .5rem 0 0 0;
    }

    header .header-text {
        position: absolute;
        left: 45%;
    }

    header .header-text .contact {
        gap: 2rem;
    }

    main .box:first-of-type {
        margin-top: 11rem;
    }

    main {
        display: flex;
    }

    main .left,
    main .right {
        flex-basis: 50%;
        padding: 0 4rem;
        position: relative;
    }

    main .left::before {
        content: "";
        position: absolute;
        width: .2rem;
        height: 90%;
        background-color: var(--lightGray);
        top: 9%;
        right: 0;
    }

    main .left::after {
        content: "";
        position: absolute;
        width: 1rem;
        height: 1rem;
        background-color: var(--mainColor);
        border-radius: 50%;
        top: 9%;
        right: -.4rem;
    }

    main .right::before {
        content: "";
        position: absolute;
        height: 2rem;
        width: 100%;
        background-color: var(--grayColor);
        bottom: 0;
        right: -1.5rem;
    }

    main .box p {
        max-width: 33rem;
    }


}

@media(min-width: 992px) {
    h1 {
        font-size: 4.2rem;
    }

    h2 {
        font-size: 2.5rem;
    }

    header .header-text {
        left: 35%;
    }

}


